package com.cinema.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 场次实体类
 */
public class Showtime {
    private Integer id;
    private Integer movieId;
    private Integer cinemaId;
    private Integer hallId;
    private Date showDate;
    private Date showTime;
    private BigDecimal price;
    private Integer availableSeats;
    private Integer totalSeats;
    private Date presaleStart;
    private Date bookingEnd;
    private String status;
    private Date createdAt;
    
    // 关联对象
    private Movie movie;
    private Cinema cinema;
    private Hall hall;
    
    // 构造方法
    public Showtime() {}
    
    public Showtime(Integer movieId, Integer cinemaId, Integer hallId, Date showDate, Date showTime, BigDecimal price) {
        this.movieId = movieId;
        this.cinemaId = cinemaId;
        this.hallId = hallId;
        this.showDate = showDate;
        this.showTime = showTime;
        this.price = price;
    }
    
    // Getter和Setter方法
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public Integer getMovieId() {
        return movieId;
    }
    
    public void setMovieId(Integer movieId) {
        this.movieId = movieId;
    }
    
    public Integer getCinemaId() {
        return cinemaId;
    }
    
    public void setCinemaId(Integer cinemaId) {
        this.cinemaId = cinemaId;
    }
    
    public Integer getHallId() {
        return hallId;
    }
    
    public void setHallId(Integer hallId) {
        this.hallId = hallId;
    }
    
    public Date getShowDate() {
        return showDate;
    }
    
    public void setShowDate(Date showDate) {
        this.showDate = showDate;
    }
    
    public Date getShowTime() {
        return showTime;
    }
    
    public void setShowTime(Date showTime) {
        this.showTime = showTime;
    }
    
    public BigDecimal getPrice() {
        return price;
    }
    
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    
    public Integer getAvailableSeats() {
        return availableSeats;
    }
    
    public void setAvailableSeats(Integer availableSeats) {
        this.availableSeats = availableSeats;
    }
    
    public Integer getTotalSeats() {
        return totalSeats;
    }
    
    public void setTotalSeats(Integer totalSeats) {
        this.totalSeats = totalSeats;
    }
    
    public Date getPresaleStart() {
        return presaleStart;
    }
    
    public void setPresaleStart(Date presaleStart) {
        this.presaleStart = presaleStart;
    }
    
    public Date getBookingEnd() {
        return bookingEnd;
    }
    
    public void setBookingEnd(Date bookingEnd) {
        this.bookingEnd = bookingEnd;
    }
    
    public String getStatus() {
        return status;
    }
    
    public void setStatus(String status) {
        this.status = status;
    }
    
    public Date getCreatedAt() {
        return createdAt;
    }
    
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }
    
    public Movie getMovie() {
        return movie;
    }
    
    public void setMovie(Movie movie) {
        this.movie = movie;
    }
    
    public Cinema getCinema() {
        return cinema;
    }
    
    public void setCinema(Cinema cinema) {
        this.cinema = cinema;
    }
    
    public Hall getHall() {
        return hall;
    }
    
    public void setHall(Hall hall) {
        this.hall = hall;
    }
    
    @Override
    public String toString() {
        return "Showtime{" +
                "id=" + id +
                ", movieId=" + movieId +
                ", cinemaId=" + cinemaId +
                ", hallId=" + hallId +
                ", showDate=" + showDate +
                ", showTime=" + showTime +
                ", price=" + price +
                ", availableSeats=" + availableSeats +
                ", totalSeats=" + totalSeats +
                ", status='" + status + '\'' +
                '}';
    }
}
